{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "class PCA:\n",
    "    def __init__(self, n_components):\n",
    "        \"\"\"初始化PCA\"\"\"\n",
    "        assert n_components >= 1, \"n_components must be valid\"\n",
    "        self.n_components = n_components\n",
    "        self.components_ = None\n",
    "        \n",
    "    def fit(self, X, eta=0.01, n_iters=1e4):\n",
    "        \"\"\"获取数据集的前n个主成分\"\"\"\n",
    "        assert self.n_components <= X.shape[1], \"n_components must not be greater than the feature number of X\"\n",
    "        \n",
    "        def demean(X):\n",
    "            return X - np.mean(X, axis=0)\n",
    "        \n",
    "        def f(w, X):\n",
    "            return np.sum((X.dot(w)**2)) / len(X)\n",
    "\n",
    "        def df(w, X):\n",
    "            return X.T.dot(X.dot(w)) * 2. / len(X)\n",
    "\n",
    "        # 把向量单位化\n",
    "        def direction(w):\n",
    "            return w / np.linalg.norm(w)\n",
    "\n",
    "        def first_component(X, initial_w, eta, n_iters=1e4, epsilon=1e-8):\n",
    "            w = direction(initial_w)\n",
    "            cur_iter = 0\n",
    "            while cur_iter < n_iters:\n",
    "                gradient = df(w, X)\n",
    "                last_w = w\n",
    "                w = w + eta * gradient\n",
    "                w = direction(w)\n",
    "                if(abs(f(w, X)) - abs(f(last_w, X)) < epsilon):\n",
    "                   break\n",
    "                cur_iter += 1\n",
    "            return w\n",
    "\n",
    "        X_pca = demean(X)\n",
    "        self.components_ = np.empty(shape = (self.n_components, X.shape[1]))\n",
    "        for i in range(self.n_components):\n",
    "            initial_w = np.random.random(X.shape[1])\n",
    "            eta = 0.001\n",
    "            w = first_component(X_pca, initial_w, eta)\n",
    "            self.components_[i, :] = w\n",
    "            X_pca = X_pca - X_pca.dot(w).reshape(-1, 1) * w\n",
    "        return self\n",
    "    \n",
    "    def transform(self, X):\n",
    "        \"\"\"将给定的X，映射到各个主成分分量中\"\"\"\n",
    "        assert X.shape[1] == self.components_.shape[1]\n",
    "        return X.dot(self.components_.T)\n",
    "        \n",
    "    def inverse_transform(self, X):\n",
    "        \"\"\"将给定的X反向映射回原来的特征空间\"\"\"\n",
    "        assert X.shape[1] == self.components_.shape[0]\n",
    "        return X.dot(self.components_)\n",
    "\n",
    "    def __repr__(self):\n",
    "        return \"PCA(n_components=%d)\" % self.n_components"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从高维数据向低维数据映射"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.empty((100,2))\n",
    "X[:,0] = np.random.uniform(0., 100., size=100)\n",
    "X[:,1] = 0.75 * X[:, 0] + 3. + np.random.normal(0, 10., size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(n_components=2)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(n_components=2)\n",
    "\n",
    "pca.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.75366776,  0.65725559],\n",
       "       [-0.65723751,  0.75368352]])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.components_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(n_components=1)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(n_components=1)\n",
    "pca.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_reduction = pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 1)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_reduction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_restore = pca.inverse_transform(X_reduction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 2)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_restore.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:, 0], X[:, 1], color='b', alpha=0.5)\n",
    "plt.scatter(X_restore[:, 0], X_restore[:, 1], color='r', alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### scikit-learn中的PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(copy=True, iterated_power='auto', n_components=1, random_state=None,\n",
       "    svd_solver='auto', tol=0.0, whiten=False)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "\n",
    "pca = PCA(n_components=1)\n",
    "pca.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.75366744, -0.65725595]])"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.components_    # 不是用梯度上升法求的，而是数学方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_reduction = pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 1)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_reduction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_restore = pca.inverse_transform(X_reduction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 2)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_restore.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:, 0], X[:, 1], color='b', alpha=0.5)\n",
    "plt.scatter(X_restore[:, 0], X_restore[:, 1], color='r', alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 真实数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "digits = datasets.load_digits()\n",
    "X = digits.data\n",
    "y = digits.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1347, 64)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 82.9 ms\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "                     metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n",
       "                     weights='uniform')"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9866666666666667"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn_clf.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "pca = PCA(n_components=2)\n",
    "pca.fit(X_train)\n",
    "X_train_reduction = pca.transform(X_train)\n",
    "X_test_reduction = pca.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 2.2 ms\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "                     metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n",
       "                     weights='uniform')"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train_reduction, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6066666666666667"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn_clf.score(X_test_reduction, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.14566817, 0.13735469])"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.45668166e-01, 1.37354688e-01, 1.17777287e-01, 8.49968861e-02,\n",
       "       5.86018996e-02, 5.11542945e-02, 4.26605279e-02, 3.60119663e-02,\n",
       "       3.41105814e-02, 3.05407804e-02, 2.42337671e-02, 2.28700570e-02,\n",
       "       1.80304649e-02, 1.79346003e-02, 1.45798298e-02, 1.42044841e-02,\n",
       "       1.29961033e-02, 1.26617002e-02, 1.01728635e-02, 9.09314698e-03,\n",
       "       8.85220461e-03, 7.73828332e-03, 7.60516219e-03, 7.11864860e-03,\n",
       "       6.85977267e-03, 5.76411920e-03, 5.71688020e-03, 5.08255707e-03,\n",
       "       4.89020776e-03, 4.34888085e-03, 3.72917505e-03, 3.57755036e-03,\n",
       "       3.26989470e-03, 3.14917937e-03, 3.09269839e-03, 2.87619649e-03,\n",
       "       2.50362666e-03, 2.25417403e-03, 2.20030857e-03, 1.98028746e-03,\n",
       "       1.88195578e-03, 1.52769283e-03, 1.42823692e-03, 1.38003340e-03,\n",
       "       1.17572392e-03, 1.07377463e-03, 9.55152460e-04, 9.00017642e-04,\n",
       "       5.79162563e-04, 3.82793717e-04, 2.38328586e-04, 8.40132221e-05,\n",
       "       5.60545588e-05, 5.48538930e-05, 1.08077650e-05, 4.01354717e-06,\n",
       "       1.23186515e-06, 1.05783059e-06, 6.06659094e-07, 5.86686040e-07,\n",
       "       1.71368535e-33, 7.44075955e-34, 7.44075955e-34, 7.15189459e-34])"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(n_components=X_train.shape[1])\n",
    "pca.fit(X_train)\n",
    "pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([i for i in range(X_train.shape[1])],\n",
    "    [np.sum(pca.explained_variance_ratio_[:i+1]) for  i in range(X_train.shape[1])])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.14566817, 0.13735469, 0.11777729, 0.08499689, 0.0586019 ,\n",
       "       0.05115429, 0.04266053, 0.03601197, 0.03411058, 0.03054078,\n",
       "       0.02423377, 0.02287006, 0.01803046, 0.0179346 , 0.01457983,\n",
       "       0.01420448, 0.0129961 , 0.0126617 , 0.01017286, 0.00909315,\n",
       "       0.0088522 , 0.00773828, 0.00760516, 0.00711865, 0.00685977,\n",
       "       0.00576412, 0.00571688, 0.00508256])"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(0.95)\n",
    "pca.fit(X_train)\n",
    "pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.n_components_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train_reduction = pca.transform(X_train)\n",
    "X_test_reduction = pca.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 1.05 ms\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "                     metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n",
       "                     weights='uniform')"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train_reduction, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.98"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn_clf.score(X_test_reduction, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = PCA(n_components=2)\n",
    "pca.fit(X)\n",
    "X_reduction = pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    plt.scatter(X_reduction[y==i, 0], X_reduction[y==i,1], alpha=0.8)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
